//package com.kjc.demo.basic.test;
//
//import com.alibaba.nacos.api.NacosFactory;
//import com.alibaba.nacos.api.PropertyKeyConst;
//import com.alibaba.nacos.api.config.ConfigService;
//import com.alibaba.nacos.api.config.listener.Listener;
//import lombok.extern.slf4j.Slf4j;
//
//import java.io.ByteArrayInputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.Properties;
//import java.util.concurrent.Executor;
//
//
//@Slf4j
//public class RefreshableConfig {
//
//    public static void getConfigListener(String serverAddr, String dataId) {
//        try {
//
//            String group = "DEFAULT_GROUP";
//            Properties properties = new Properties();
//            properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
//            ConfigService configService = NacosFactory.createConfigService(properties);
//            //注册监听
//            configService.addListener(dataId, group, new Listener() {
//
//                @Override
//                public void receiveConfigInfo(String configInfo) {
//                    log.info("[注册中心] recv config info:\n{}", configInfo);
//                    Properties prop = new Properties();
//                    InputStream in = new ByteArrayInputStream(configInfo.getBytes());
//                    try {
//                        prop.load(in);     ///加载属性列表
//                    } catch (IOException e) {
//                        e.printStackTrace();
//                    }
//                    for (String key : prop.stringPropertyNames()) {
//                        log.info("-------------------------{}={}------------------------", key , prop.getProperty(key));
//                        switch (key) {
//                            case "refresh_app":
//                                log.info(">>>刷新应用配置：{}", prop.getProperty(key));
//                                if ("yes".equalsIgnoreCase(prop.getProperty(key))) {
//                                    //刷新app info
//                                }
//                                break;
//                            case "refresh_service":
//                                log.info(">>>刷新服务配置：{}", prop.getProperty(key));
//                                if ("yes".equalsIgnoreCase(prop.getProperty(key))) {
//                                }
//                                break;
//                            case "check_sign":
//                                log.info(">>>设置验签标志：{}", prop.getProperty(key));
//                                break;
//                            default:
//                                break;
//                        }
//
//                    }
//                    try {
//                        in.close();
//                    } catch (IOException e) {
//                        e.printStackTrace();
//                    }
//                }
//
//                @Override
//                public Executor getExecutor() {
//                    return null;
//                }
//            });
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//}
